Allez, qui n’a jamais pensé que le modèle d’évènements de SharePoint 2007 manquait de consistance. En effet, les classes Receiver propres aux listes, aux éléments de liste et aux sites (respectivement SPListEventReceiver, SPItemEventReceiver et SPWebEventReceiver) étaient composées de méthodes virtuelles. Il ne fallait qu’implémenter dans notre classe dérivée la ou les méthodes souhaitées.
En revanche, la classe SPFeatureReceiver permettant d’associer des évènements sur les feature était composée uniquement de classes abstraites. La définition de toutes ces méthodes abstraites devait donc être présente dans notre classe dérivée, même si le corps restait vide.
Ceci s’explique en partie, car pour les trois premiers receiver, dans le fichier de configuration, il fallait spécifier pour chaque évènement quelle classe le runtime devait associer.
En revanche, dans le fichier de configuration d’une feature, il fallait préciser pour toute la feature quelle classe associer.
Bref, dans le modèle objet 2010, les méthodes de la classe SPFeatureReceiver sont marquées comme virtuelles, ceci standardise encore mieux tous les aspects de SharePoint. Grande surprise également, une nouvelle méthode fait son apparition: FeatureUpgrading. Nous aurons l’occasion de revenir en détail sur cette nouvelle méthode.
Ah, quand je vous disais que cette mouture allait nous réserver plein de bonnes surprises ….
-Julien